package object;

public class WarpClass {
    public static void main(String[] args) {
        int n =5;
        Integer x= 8;
        //相当于
        Integer y= Integer.valueOf(8);


        Double d =3.5;
        Double dx = Double.valueOf(3.5);
        System.out.println(dx);


        int a = x;
        a = x.intValue();//与上述代码一样
        double b = d;
        b = d.doubleValue();

        /*
         包装类型：  是对象，可以使用面对对象的特征 封装\继承\多态\
           但是性能慢
           基本类型：不能对象，不能  封装\继承\多态\，性能好

           利用常量池复用了 -128~127之间的整数
           为了优化性能
           -128~127 之间的Integer类型对象被替换同一个对象

           提供常用API
           提供了数据类型的最大最小值常量


         */
        long t1 =System.currentTimeMillis();
        int sum = 0;
        for (int i=0;i<20000;i++){
            sum += i;
        }
        long t2 =System.currentTimeMillis();
        Integer sumI =0;
        for (int i=0;i<2000;i++){
            sumI += i;
        }
        long t3 =System.currentTimeMillis();
        System.out.println(t2-t1);
        System.out.println(t3-t2);

        Integer i1 =20;
        Integer i2 =20;
        System.out.println(i1 == i2);

        i1=128;
        i2=128;
        System.out.println(i1 == i2);


        int max = Integer.MAX_VALUE;
        int min = Integer.MIN_VALUE;
        long lmax = Long.MAX_VALUE;
        long lmin = Long.MIN_VALUE;
        System.out.println(max);
        System.out.println(min);
        System.out.println(lmax);
        System.out.println(lmin);

        String str = "1234";
        int num = Integer.parseInt(str);
        str ="123.56";
        double dnum = Double.parseDouble(str);
        System.out.println(num);
        System.out.println(dnum);

    }
}


//空指针异常：当一个引用类型变量的值为null，在访问这个变量属性
//方法或者数组元素时候，发生空指针异常
//发生条件有两个：变量为null，访问属性/方法/成员
//解决办法：
//	将变量合理赋值，在访问之前用if判断是否为空，如果为空不访问